#pragma once
#include <string>
#include <vector>
#include "..\dxstdafx.h"
#include "..\base\Engine.h"
#include "..\renderer\Renderer.h"
#include "..\utils\Logger.h"
#include "VertexBuffer.h"

namespace ds {

class ColouredVertexBuffer : public VertexBuffer {

struct ColouredVertex {
    float       x,y,z; 
    DWORD		color;    
};
typedef std::vector<ColouredVertex> Vertices;
public:
    ColouredVertexBuffer(D3DPRIMITIVETYPE primitiveType);
    void addVertex(float x,float y,float z);
	void addVertex(float x,float y,float z,Color color);
    bool createBuffer();
	void clear();
    int getSize() { return m_Vertices.size();}
    int getVertexSize() { return sizeof(ColouredVertex);}    
    virtual ~ColouredVertexBuffer();
	DWORD getVertexFormat() { return m_FVF;}
private:
    Vertices m_Vertices;
};

};



